package com.yongbao.model.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yongbao.common.PageQueryRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @author zhanghong
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel("订单请求模型")
public class DishOrderRequest extends PageQueryRequest implements Serializable {
    @ApiModelProperty("订单编号")
    private String orderNum;
    @ApiModelProperty("发起人id")
    private Long userId;
    @ApiModelProperty("区id")
    private Long areaId;
    @ApiModelProperty("区名称")
    private String areaName;
    @ApiModelProperty("街道id")
    private Long streetId;
    @ApiModelProperty("具体地址")
    private String address;
    @ApiModelProperty("经度(下单地址的经度)")
    private String lng;
    @ApiModelProperty("纬度(下单地址的纬度)")
    private String lat;
    @ApiModelProperty("预定早餐  0否 1是")
    private Integer bookBreakfast;
    @ApiModelProperty("预定中午饭  0否 1是")
    private Integer bookLunch;
    @ApiModelProperty("预定下午饭  0否 1是")
    private Integer bookDinner;
    @ApiModelProperty("订餐类型 1周餐 2月餐")
    private String orderType;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("送餐开始日期")
    private Date startDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("送餐结束日期")
    private Date endDate;
    @ApiModelProperty("统计筛选类型 1昨日预定 2前日预定 3-7天内预定 4-30天内预定")
    private Integer statisticsType;
    @ApiModelProperty("地址搜索关键字")
    private String keyWord;
    @ApiModelProperty("过期的周餐 1表示查询过期周餐或者月餐，其他的不做筛选")
    private Integer expiredWeekOrMonthDish;
}
